链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。一个单向链表的节点被分成两个部分。第一个部分保存或者显示关于节点的信息,第二个部分存储下一个节点的地址。单向链表只可向一个方向遍历。
链表节点类的实现
1 | class Node: |
生成一个节点对象:
1 | 93) temp = Node( |
结构如下图所示:
链表类的实现
1 | class UnorderedList: |
新建一个链表对象:1
mylist = UnorderedList()
往链表前端中加入节点
1 | def add(self,item): |
1 | 31) mylist.add( |
现在链表结构如下图所示:
在链表尾端添加节点
1 | def append(self,item): |
链表的长度计算
1 | def size(self): |
计算过程如下图所示:
寻找是否存在某一节点
1 | def serch(self,item): |
删除某一节点
1 | def remove(self,item): |
链表反转
1 | def rev(self): |
链表成对调换
例如:1->2->3->4
转换成2->1->4->3
1 | def pairswap(self): |